//
//  JLocationInfo.h
//  jhf
//
//  Created by 计海峰 on 16/11/23.
//  Copyright © 2016年 计海峰. All rights reserved.
//

#import <AMapFoundationKit/AMapFoundationKit.h>
#import <AMapLocationKit/AMapLocationKit.h>

#import <CooperSDK/CooperSDK.h>

#define J_LBS_LOCATION_INFO_KEY @"J_LBS_LOCATION_INFO_KEY"  //定位位置

#define J_SELECT_LOCATION_INFO_KEY @"J_SELECT_LOCATION_INFO_KEY"  //选择位置

#define J_DEFAULT_DEFAULT_INFO_KEY @"J_DEFAULT_DEFAULT_INFO_KEY"  //默认位置

#define J_LOCATION_INFO_CHANGE_KEY @"J_LOCATION_INFO_CHANGE_KEY"  //发生变化

typedef enum : NSUInteger {
    J_LBS_INFO,     //定位位置
    J_CHOOSE_INFO,  //选择位置
    J_DEFAULT_INFO, //默认位置
} JLOCATIONINFO;

@interface JLocationInfo : AMapLocationReGeocode

@property (nonatomic , assign) CGFloat latitude;

@property (nonatomic , assign) CGFloat longitude;

@property (nonatomic , copy) NSString *cityId;

@property (nonatomic , copy) NSString *provinceId;

@property (nonatomic , copy) NSString *showName;

JSingletonH();

//MARK: - 配置
- (void)configKey:(NSString *)key lbsResult:(BlockBool)block;

//MARK: -  开始定位
- (void)startLocationWithResult:(void (^)(BOOL result))result;

/**
 设置默认位置 合肥
 */
 + (void)configDefaultLocation:(JLocationInfo *)info;

/**
 显示位置

 @param type 位置类型
 @return 位置对象
 */
+ (JLocationInfo *)showLocationInfo:(JLOCATIONINFO)type;


/**
 更新本地储存的地理位置

 @param type 位置类型
 */
- (void)updateLocationInfo:(JLOCATIONINFO)type;


/**
 删除某种位置信息

 @param type 位置类型
 */
+ (void)removeLocationInfo:(JLOCATIONINFO)type;


/**
 按照优先级返回位置 选择,定位，默认 返回

 @return 位置对象
 */
+ (JLocationInfo *)showDefaultInfo;

//MARK: -  检查位置权限
+ (BOOL)checkLocationAuthority;

@end
